package com.wei.czz.common.vo.game;

import com.wei.czz.common.tool.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;

/**
 * Created by IntelliJ IDEA.
 *
 * @author wei
 * date: 2023-03-17 20:20:33
 * className: GamePrizeVo 游戏奖品参数类
 * version: 1.0
 * description:
 */
@Getter
@Setter
public class GamePrizeVo extends BaseEntity {

    /**
     * 奖品主键
     */
    private Long id;
    /**
     * 游戏id
     */
    private Long gameId;
    /**
     * 奖品名称
     */
    private String prizeName;
    /**
     * 具体奖品值
     */
    private String prizeValue;
    /**
     * 奖品总数
     */
    private Integer prizeTotalNum;
    /**
     * 中奖概率（保证一个游戏所有奖品中奖概率总和是10的整数倍数值）
     */
    private Integer probability;
    /**
     * 排序等级
     */
    private Integer sort;
    /**
     * 备注
     */
    private String remark;

    /**
     * 校验保存请求参数是否有误
     * @return true-校验拒绝 false-校验通过
     */
    public boolean isSaveParamsFail() {
        return ObjectUtils.anyNull(gameId, prizeTotalNum, probability, sort) || StringUtils.isAnyBlank(prizeName, prizeValue);
    }

    /**
     * 校验游戏默认奖品请求参数是否有误
     * @return true-校验拒绝 false-校验通过
     */
    public boolean isDefaultPrizeParamsFail() {
        return ObjectUtils.anyNull(id, gameId);
    }

    /**
     * 校验修改请求参数是否有误
     * @return true-校验拒绝 false-校验通过
     */
    public boolean isUpdateParamsFail() {
        return ObjectUtils.anyNull(id, gameId, prizeTotalNum, probability, sort) || StringUtils.isAnyBlank(prizeName, prizeValue);
    }

}
